﻿using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Text;
using TL_Cloud.Core.Interfaces;
using TL_Cloud.DbRepositoryInterface.BookShop;
using TL_Cloud.Models.BookShop;
using TL_Cloud.RepositoryInterface.BookShop;

namespace TL_Cloud.RepositoryService.BookShop
{

    public static class RepositoryInjection
    {
        public static IServiceCollection AddRepositoryRegister(this IServiceCollection services)
        {
            services.AddScoped<IBaseUserRepository, BaseUserRepository>();
            services.AddScoped<IBaseGradeRepository, BaseGradeRepository>();
            services.AddScoped<IBaseClassRepository, BaseClassRepostiory>();
            services.AddScoped<IBaseStudentRepository, BaseStudentRepository>();
            services.AddScoped<IBaseTeacherRepository, BaseTeacherRepository>();
            services.AddScoped<IBaseSubjectRepository, BaseSubjectRepository>();
            services.AddScoped<IBaseTeachClassRepository, BaseTeachClassRepository>();

            services.AddScoped<IBKTypeInfoRepository, BKTypeInfoRepository>();
            services.AddScoped<IBKInfoRepository, BKInfoRepository>();
            services.AddScoped<IBKBuyInfoRepository, BKBuyInfoRepository>();
            services.AddScoped<IBKCollectRepository, BKCollectRepository>();
            services.AddScoped<IBKCommentRepository, BKCommentRepository>();
            services.AddScoped<IBKDownloadRecordRepository, BKDownloadRecordRepository>();
            services.AddScoped<IBKPicsRepository, BKPicsRepository>();
            services.AddScoped<IBKRecommendRepository, BKRecommendRepository>();
            services.AddScoped<IBKStoreUrlRepository, BKStoreUrlRepository>();
            services.AddScoped<IUnitOfWork, UnitOfWork>();
            return services;
        }
    }
}
